[Update] การใช้งาน Amazon Data Firehose ร่วมกับ Amazon S3
สิ่งที่ต้องมี
※มี S3 Bucket ที่สร้างไว้สำหรับใช้เป็นพื้นที่ในการเก็บข้อมูลเพื่อนำมาแสดงใน Amazon Data Firehose เตรียมไว้แล้ว
ครั้งนี้จะใช้ชื่อ S3 Bucket ดังนี้
・Bucket name: tinnakorn-test-s3
(ครั้งนี้สร้างไว้ใน Region Singapore
)
สามารถดูตัวอย่างได้ที่ลิงก์ด้านล่างนี้
การสร้าง Buckets ใน Amazon S3
สร้าง Amazon Data Firehose
ครั้งนี้จะดำเนินการใน Region Singapore
ให้ค้นหาและคลิก Amazon Data Firehose
แล้วคลิก Create Firehose stream
แล้วจะตั้งค่าดังนี้
Choose source and destination
・Source: Direct PUT
・Destination: Amazon S3
(หลังจากเลือกนี้แล้ว หัวข้อ "Firehose stream name" จะแสดงขึ้นมาด้านล่างอัตโนมัติ)
Firehose stream name
・Firehose stream name: tinnakorn-test-firehose
ต่อไปหัวข้อ Destination settings
คลิก Browse
แล้วเลือก S3 bucket เช่น tinnakorn-test-s3
(เลือก S3 bucket ที่สร้างก่อนหน้านี้)
แล้วเลื่อนลงมาด้านล่างที่หัวข้อ Buffer hints, compression, file extension and encryption แล้วคลิกเพื่อขยายฟังก์ชันการตั้งค่าต่างๆด้านล่าง โดยครั้งนี้จะตั้งค่า "Buffer interval: 60
seconds" แล้วคลิก Create Firehose stream
ที่ด้านล่างสุด
รอ Create สักครู่ แล้วจะแสดงหน้าจอแบบนี้
เริ่มทดสอบการใช้งาน
คลิกหัวข้อ Test with demo data เพื่อขยายฟังก์ชันต่างๆด้านล่าง แล้วจะแสดงหน้าจอแบบนี้
โดยในหน้านี้จะประกอบด้วยข้อมูลที่ใช้ในการทดสอบระบบ เช่น สคริปต์ที่ใช้ในการทดสอบก็จะมีลักษณะแบบนี้
{
"TICKER_SYMBOL": "QXZ",
"SECTOR": "HEALTHCARE",
"CHANGE": -0.05,
"PRICE": 84.51
}
แล้วคลิก Start sending demo data
ปุ่มก็จะเปลี่ยนเป็น Sending demo data
ก็ให้รอประมาณ 2-3 นาที แล้วข้อมูลจะถูกส่งไปยัง Amazon S3 ซึ่งเป็นการทดสอบระบบการใช้งาน
หลังจากผ่านไป 2-3 นาที ให้คลิก Stop sending demo data
เพื่อหยุดส่งข้อมูลไปยัง S3 ได้เลย
ต่อไปให้เข้าไปดูใน S3 Bucket ที่เราสร้าง ถ้าระบบทำงานถูกต้องจะมีโฟลเดอร์วันที่และไฟล์อยู่ใน Bucket ซึ่งไฟล์เหล่านี้จะถูกสร้างอัตโนมัติจากการทำงานของ Firehose ตอนที่เราคลิก "Start sending demo data"
แล้วถ้าเราเข้าไปยังไฟล์ลึกที่สุดก็จะเจอกับข้อมูลที่ระบบ Firehose ส่งมาที่ S3 Bucket นี้ โดยระยะเวลาการส่งนั้นคือทุกๆ 1 นาที ตามที่เราตั้งค่า Buffer interval ในตอนที่สร้าง Amazon Data Firehose ซึ่งจะสังเกตได้จากคอลัมน์ Last modified
ทีนี้ให้ติ๊ก ✅️
แล้วคลิก Download
ไฟล์ลงอุปกรณ์ของเรา
แล้วเปิดไฟล์เพื่อดูข้อมูลที่อยู่ในไฟล์เหล่านี้ ก็จะเห็นฟอร์มข้อมูลที่เหมือนกันกับโค้ดในหัวข้อ Test with demo data ก่อนหน้านี้
เมื่อถึงส่วนนี้ก็เป็นการจบในส่วนของการทดสอบระบบแล้ว ถ้าเราทำตามขั้นตอนและมีผลลัพธ์ตรงกับบทความนี้ แสดงว่าตอนนี้เราสามารถใช้งาน Firehose ร่วมกับ S3 ได้แล้ว
ลบ Resource
หากเราไม่ต้องการใช้งานแล้วก็ควรจะลบ Resource เพื่อประหยัดค่าใช้จ่ายโดยดูวิธีการลบในหัวข้อนี้ได้เลย
- Amazon Data Firehose
- Firehose stream
- Identity and Access Management (IAM)
- Roles
- Amazon S3
- Buckets
ลบ Firehose stream ใน Amazon Data Firehose
เข้ามาที่หน้าจอบริการ "Amazon Data Firehose > Firehose streams" ของเรา แล้วคลิก Delete Firehose stream
แล้วยืนยันการลบตามคำแนะนำ
ลบ Role ใน Identity and Access Management (IAM)
เข้ามาที่หน้าจอบริการ "Identity and Access Management (IAM) > Roles" ของเรา เนื่องจาก IAM Role นี้ถูกสร้างโดยอัตโนมัติในขณะที่สร้าง Firehose stream โดยจะมีชื่อว่า KinesisFirehoseServiceRole-xxxxxx-ap-southeast-1-xxxxxx
แล้วคลิก Delete
แล้วยืนยันการลบตามคำแนะนำ
ลบ Bucket ใน Amazon S3
เข้ามาที่หน้าจอบริการ "Amazon S3 > Buckets" แล้วค้นหาและติ๊ก Bucket
ของเรา แล้วคลิก Empty
แล้วป้อน permanently delete
ตามคำแนะนำ และคลิก Empty
(หากมีข้อมูลเหลืออยู่ใน Bucket จะไม่สามารถลบได้)
เมื่อดำเนินการ Empty เสร็จแล้ว ให้ติ๊ก Bucket
ของเราอีกครั้ง แล้วคลิก Delete
แล้วยืนยันการลบโดยป้อนชื่อ Bucket ของเราตามคำแนะนำ แล้วคลิก Delete
เพียงเท่านี้ก็จบการสาธิตการใช้งาน Firehose ร่วมกับ S3 แล้วครับ
สรุป
สำหรับเนื้อหาในบทความนี้ ผมหวังเป็นอย่างยิ่งว่าจะมีประโยชน์ต่อผู้ที่สนใจและอยากศึกษาเกี่ยวกับการใช้งาน Firehose และ S3 นะครับ แล้วพบกันใหม่ในบทความต่อๆ ไปครับ